home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Your Choice 3
/
Your Choice Software Collection 3.iso
/
dos
/
morphit
/
morphit.doc
< prev
next >
Wrap
Text File
|
1994-03-29
|
11KB
|
294 lines
╔═════════════════════════╗
║ Morphit 1.0 ║
║ by Rob Bairos ║
║ Copyright (c)1994 ║
╚═════════════════════════╝
┌───────────────┐
│ Introduction: │
└───────────────┘
Morphing is the process of transforming one image into another.
Several techniques have been successfully developed and incorporated
into many famous films and commercial segments.
Morphit 1.0 implements a morphing function based on a two-dimensional
triangulation algorithm. It allows you to take two GIF images and
create a FLI animation file, morphing the first image into the second.
┌───────────────┐
│ Requirements: │
└───────────────┘
In order to use morphit 1.0 you will need the following:
■ Microsoft compatible mouse (two button)
■ 286 CPU or higher
■ VGA adapter
■ At least 250K conventional memory to produce medium-sized FLI's.
■ 0.5 - 1Meg disk space for each medium to large FLI file.
■ DOS Version 3.0 or later
┌──────────────────┐
│ Creating morphs: │
└──────────────────┘
To begin the program type:
morphit [file_name]
where [file_name] is an optional morph description file.
The program begins by dividing the screen into four areas:
┌───────┬───────┐
│ 1 │ 2 │
├───────┼───────┤
│ 3 │ 4 │
└───────┴───────┘
Area 1 contains an image window used to hold the original morph frame.
Area 2 contains an image window used to hold the final morph frame.
Area 3 contains an image window used to hold the intermediate frames.
Area 4 contains user options and information.
To begin with, load the original and final frames into windows 1 and 2.
Do this by clicking the " Load " button with the left mouse button.
You will be prompted for a valid GIF image filename. Dependent on the
amount of free memory available, 320x200 GIFs are ideal since they
correspond to the expected resolution of FLI animation files.
If the image is valid, it will be presented in black and white in the
frame window. (While using morphit, images will be reduced to 16
levels of gray to conform to VGA hi-res color limitations, but the
animations produced will contain 64 gray levels). Once an image is
loaded, you can increase or decrease the magnification by clicking
the " Zoom + " or " Zoom - " buttons. Each window contains a vertical
and horizontal scroll bar and a (H)ome button to view the frame more
readily.
In order to produce a morph, you must specify which points on image 1
correspond to points on image 2. These points are often called
landmarks, and are used to make the morph more fluid in appearance.
Click the left mouse button to insert landmarks on either image. The
order in which you enter the points is important. If you click three
points on one area on image1, the next three points you click on image2
should be in the corresponding area. For example, if you have loaded
a man's face in image 1 and a baby's face in image 2 you might click
the following points:
1.Man's left eye
2.Man's right eye
3. Baby's left eye
4. Baby's right eye
5. Baby's left ear
6.Man's left ear
7. Baby's right ear
8. Baby's chin
9.Man's right ear
10.Man's chin
....
As you enter points on either image, a wire mesh is created around
them. The appearance of this mesh is critical for a proper morph. If
you select points in such a way that the second mesh contains
overlapping sections, undesired effects such as 'ghosting' will appear.
To fix you can either:
■ delete the offending point (and its counterpart)
by clicking the right mouse button over it
or ■ move the point by holding the left mouse button
over it and dragging it to a new location
Points not yet paired will (ie not in the mesh) will appear as small
crosses. These can be moved and deleted as well. Note that no mesh
is displayed until at least three point-pairs are entered.
Once you have entered some point-pairs, you can start creating the
FLI file by clicking the " Begin Animation " button. Watch the
status lines to observe the progress. As each frame is created it
is displayed in the third image area. Any frame can be saved as
a GIF file by clicking the ' SAVE ' button.
The remaining buttons and options are described below:
Button: What it does:
Display Mesh Toggles the mesh display.
Use to speed up scrolling or view the
original image.
Reset Mesh Removes all entered points from both
images.
Clear Image Each output frame is cleared before
Between Frames the next frame is displayed.
Total Frames Use this to set the total number of
frames in the animation file. The
animation will morph from image1 to
image2 and back to image1.
Test Morph Set the desired percentage and click
this to create a single frame to ensure
the landmarks are well placed. You can
save this output image by clicking the
'Save' button near image 3.
Save Morph This will save a file containing the GIF
file names, FLI characteristics and
landmark points. You can use the filename
created here as an optional command line
parameter.
Load Morph This will preload an existing morph
description, created by 'Save Morph' or your
last session.
Begin Animation Create the FLI animation file. Each time
you begin a morph, a file description named
"point0.dat" is automatically saved to disk.
Exit to DOS Free any memory and exit to dos.
Memory Displays amount of free memory remaining.
Status Display progress/error messages.
image 1 title bar Click here to display image characteristics.
image 2 title bar
image 3 title bar Click this to change/edit the FLI animation
filename or resolution.
That's about it as far as instructions go. It takes a bit of practice
to choose effective landmarks, while keeping execution time and
animation size low. Generally speaking, place the most points around
the most prominent features, (eyes, nose, lips, hairline etc). It is
not a bad idea to place landmarks on the image corners to keep the
output animation full screen.
┌─────────────────┐
│ Viewing Morphs: │
└─────────────────┘
Once you are satisfied with the morph output, you can execute a second
program to view it in real time. At the dos prompt type:
vfli [file_name]
where [file_name] is the name of the animation file created. This is
a quick no-frills viewer I wrote to view FLI animation files on a
320x200 screen. Just press any key to stop.
┌─────────────────┐
│ Included Files: │
└─────────────────┘
The following files are included with the morphit program:
morphit.doc this file
morphit.exe morph editor
vfli.exe morph viewer
am.gif example images
cc.gif
boyg.gif
ronnie.gif
ronboy.dat example morph descriptions
amcc.dat
To create the examples, type:
morphit amcc.dat
or
morphit ronboy.dat
Select 'Begin Animation' to create the file.
Select 'Exit to Dos' to quit the editor.
To view the animations type:
vfli amcc.fli
or
vfli ronboy.fli
┌───────────────────────┐
│ Planned Enhancements: │
└───────────────────────┘
I've started experimenting with the variations listed below and
hope to include them soon in future versions.
■ Color version (quantized image editing and animation output)
■ XMS or EMS memory use (to edit larger color pictures)
■ Support for different image formats (JPEG, BMP, etc)
■ Support for different video cards (32K, SVGA, etc)
■ Enhanced user interface and morphing options
┌───────────────┐
│ Registration: │
└───────────────┘
If you've enjoyed using morphit, or find it useful after a fifteen
day trial period please remember to honour the shareware principal
and register. Registered members are entitled to a free update up
to six months from registration, and high discounts on all releases
after that. Feel free to copy this program and redistribute it in
its entirety (all files listed above).
To register please answer the following questions and send $15.00
US money order to the address below:
Rob Bairos 66 Fatima Crescent
rbairos@cayley.uwaterloo.ca Cambridge, Ontario CANADA
Voice:(519)623-3910 N1R 7Z7
Name: _________________________________________
Address: _________________________________________
City: ________________ State/Province: ________
Country: ________________ Postal Code: ________
Voice Phone Number: _____________________________
Data Phone Number: _____________________________
Email Address: _____________________________
Type of computer: (286/386/486/other) ____________
Type of video card: ______________________________
Preferred method of delivery for next update:
_ 3.5 Disk
_ 5.25 Floppy
_ electronic mail
other: __________________________________
┌──────────────────────────────┐
│ Acknowledgments/Disclaimers: │
└──────────────────────────────┘
"The Graphics Interchange Format(c) is the Copyright property of
CompuServe Incorporated. GIF(sm) is a Service Mark property of
CompuServe Incorporated."
Although I have done by best to ensure this program does not
erase your root directory, or empty your bank account I cannot
be liable for damages, arising from the use or abuse of this
program and its included documentation.
Special thanks to Steven A. Bennett for the use of his gif decoding
algorithm, one of the first things in this program that worked.